package edzest.utils;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;

public class OracleJDBC {
	private static final String DRV = "oracle.jdbc.OracleDriver";
	private static final String URL = "jdbc:oracle:thin:@//112.216.253.122:1521/xe";
	private static final String USR = "booroo83";
	private static final String PWD = "booroo83";
	
	// 112.216.253.122는 선생님 서버 IP잔아
//	private static final String URL = "jdbc:oracle:thin:@//127.0.0.1/xe";
//	private static final String USR = "scott";
//	private static final String PWD = "TIGER";
	
	private static final String ZIPCODE = "zipcode";
	
	// oracle JDBC 객체 생성
	// new 연산자 없이 openConn 메서드를  
	// 호출하기 위해 static으로 선언
	// 즉, 자주 사용하는 
	// Class.forName( DRV );
	// conn = DriverManager.getConnection(URL, USR, PWD);
	// 를 편하게 사용하기 위해서 openConn()으로 만듦
	public static Connection openConn() {
		Connection conn = null;
		try{
			Class.forName( DRV ); // 드라이버 객체 생성
			conn = DriverManager.getConnection(URL, USR, PWD); // DB접속 객체 생성
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		return conn;
	}
	
	// 우편번호 검색시 사용할 접속정보
	public static Connection openZipcode() {
		Connection conn = null;
		try{
			Class.forName( DRV ); // 드라이버 객체 생성
			conn = DriverManager.getConnection(URL, ZIPCODE, ZIPCODE); // DB접속 객체 생성
		} catch (Exception ex) {
			ex.printStackTrace();
		}
		return conn;
	}
	
	// oracle JDBC 객체 종료 및 해제
	public static void closeConn(Connection c, PreparedStatement p, ResultSet r) {
		if (r != null) try {r.close();} catch (Exception e) {}
		if (p != null) try {p.close();} catch (Exception e) {}
		if (c != null) try {c.close();} catch (Exception e) {}
	}
}
